// src/api/config/index.js
import http from "@/axios/index.js";
import {handleSuccess, handleError} from "@/api/index.js";

export const ConfigApi = {
    // 获取所有系统配置
    getAllConfig() {
        return http.get('/api/config/all')
            .then(res => handleSuccess(res, '获取系统配置'))
            .catch(error => handleError(error, '获取系统配置失败', '服务器连接异常'))
    },

    // 分页获取系统配置列表
    getConfigListWithPagination(params) {
        // 直接使用传入的参数，不进行额外转换
        // 因为前端已经传入了后端期望的参数名
        return http.get('/api/config/page', { params })
            .then(res => handleSuccess(res, '获取系统配置'))
            .catch(error => handleError(error, '获取系统配置失败', '服务器连接异常'))
    },

    // 修改系统配置
    updateConfig(data) {
        return http.put('/api/config/update', data)
            .then(res => handleSuccess(res, '更新系统配置'))
            .catch(error => handleError(error, '更新系统配置失败', '服务器连接异常'))
    },

    // 刷新配置缓存
    refreshCache() {
        return http.post('/api/config/refreshCache')
            .then(res => handleSuccess(res, '刷新配置缓存'))
            .catch(error => handleError(error, '刷新配置缓存失败', '服务器连接异常'))
    },

    // 获取公共配置
    getPublicConfig() {
        return http.get('/api/config/public')
            .then(res => handleSuccess(res, '获取公共配置'))
            .catch(error => handleError(error, '获取公共配置失败', '服务器连接异常'))
    },

    // 查询配置历史记录
    getConfigHistory(params) {
        return http.get('/api/config/history', {params})
            .then(res => handleSuccess(res, '查询配置历史'))
            .catch(error => handleError(error, '查询配置历史失败', '服务器连接异常'))
    }
}
